package com.ruoyi.service.fileshare;

import com.github.pagehelper.PageInfo;
import com.ruoyi.domain.fileshare.dto.*;
import com.ruoyi.domain.fileshare.entity.MailUser;
import com.ruoyi.domain.fileshare.entity.SysFile;
import com.ruoyi.domain.fileshare.vo.FileShareDetailVo;
import com.ruoyi.domain.fileshare.vo.FileShareVO;

import java.util.List;

public interface FileShareService {
    boolean addFileInfo(List<SysFileDto> dtoList);

    boolean updateFileInfo(SysFileDto dto);

    boolean deleteFileInfo(String ids);

    PageInfo<SysFile> listFiles(SysFileQueryDto dto);

    List<MailUser> listMailUser();

    boolean sendFiles(MailUserSendDto dto);

    boolean addOrUpdateMailUser(MailUserAddDto dto);

    List<FileShareDetailVo> getFileShareDetail(Long fileId);

    PageInfo<MailUser> listMailUser(MailUserQueryDto dto);

    List<MailUser> listSelectMailUser();

    boolean deleteMailUser(Long id);

    SupplierMetaDto getUserSupplierMeta();

    boolean downloadLog(SysFile sysFile);

    void addFileShare(List<Long> fileIds,List<Long> userIds);

    void cancelShare(FileShareSubmitDto dto);

    List<FileShareVO> getShareableList(Long fileId, Boolean isAdd);

    List<MailUser> getUserChargeSupplierList();
}
